On the Expressiveness of Parameterized Finite-state Runtime Monitors On the Expressiveness of Parameterized Finite-state Runtime Monitors?

نویسنده

  • Eric Bodden
چکیده

Many contemporary runtime-verification tools instrument a program under test with finite-state runtime monitors that can be parameterized through variable-to-object bindings. Often, such tools provide a specification formalism that is some form of syntactic extension to an aspect-oriented programming language. The tools then transform monitor specifications into aspects that bind the monitors’ parameters through pointcuts. In this work we show that the availability of certain, well-selected pointcuts and the variable bindings that these pointcuts expose can greatly enhance the expressive power of finite-state monitoring formalisms, often going clearly beyond the expressiveness of regular languages. Formally, this e↵ect can be explained by a correspondence between finite-state machines and Weak Monadic Second-Order Logic (MSO). For this logic it is known that it can exactly express the regular languages when combined with a successor relation over string positions—adding other relations may increase its expressiveness. In the conceptual framework of this logic, such adjunct relations correspond directly to primitive pointcuts in the underlying aspect language.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Calculus-based Runtime Verification

In this paper, a uniform calculus-based approach for synthesizing monitors checking correctness properties specified by a large variety of logics at runtime is provided, including future and past time logics, interval logics, state machine and parameterized temporal logics. We present a calculus mechanism to synthesize monitors from the logical specification for the incremental analysis of exec...

متن کامل

Temporal Monitors for TinyOS

Networked embedded systems generally have extremely low visibility of system faults. In this paper, we report on experimenting with online, node-local temporal monitors for networked embedded nodes running the TinyOS operating system and programmed in the nesC language. We instrument the original node software to signal asynchronous atomic events to a local nesC component running a runtime veri...

متن کامل

Transforming Timeline Specifications into Automata for Runtime Monitoring

In runtime monitoring, a programmer specifies code to execute whenever a sequence of events occurs during program execution. Previous and related work has shown that runtime monitoring techniques can be useful in order to validate or guarantee the safety and security of running programs. Those techniques have however not been incorporated in everyday software development processes. One problem ...

متن کامل

MOPBox: A Library Approach to Runtime Verification

In this work we propose MOPBox, a library-based approach to runtime verification. MOPBox is a Java library for defining and evaluating parametric runtime monitors. A user can define monitors through a simple set of API calls. Once a monitor is defined, it is ready to accept events. Events can originate from AspectJ aspects or from other sources, and they can be parametric, i.e., can contain var...

متن کامل

Graphically transforming Timeline specifications into automata for runtime monitoring

In runtime monitoring, a programmer specifies a piece of code to execute whenever a sequence of events occurs during program execution. Previous and related work has shown that runtime monitoring techniques can be useful in order to validate or guarantee the safety and security of running programs. Yet, those techniques have not yet been able to make the transition to everyday use in software d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012